package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ReportAnno;
import cn.fintecher.pangolin.common.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import java.util.Date;


/**
 * @Auther: xiaqun
 * @Description: 行为过程监控表
 * @Date: 11:43 2019/12/10
 */

@Data
@Document(indexName = Constants.BEHAVIORAL_PROCESS, type = Constants.BEHAVIORAL_PROCESS, shards = 1, replicas = 0)
@ApiModel(value = "催记实体", description = "催记实体")
public class BehavioralProcess {
    @ApiModelProperty(value = "主键ID")
    @Id
    private String id;

    @ApiModelProperty(value = "统计日期")
    @ReportAnno(name = "日期", sort = 3)
    private Date reportDate;

    @ApiModelProperty(value = "部门ID")
    private String departId;

    @ApiModelProperty(value = "部门名称")
    @ReportAnno(name = "部门", sort = 1, isMerge = true)
    private String departName;

    @ApiModelProperty(value = "部门code")
    private String departCode;

    @ApiModelProperty(value = "催收员ID")
    private String userId;

    @ApiModelProperty(value = "催收员名称")
    @ReportAnno(name = "催收员", sort = 2, isMerge = true)
    private String userName;

    @ApiModelProperty(value = "在催案件量")
    @ReportAnno(name = "当日持有案件数", sort = 4)
    private Integer collectingNumber = 0;

    @ApiModelProperty(value = "案件触碰量")
    @ReportAnno(name = "案件触碰量", sort = 5)
    private Integer touchNumber = 0;

    @ApiModelProperty(value = "案件触碰率")
    @ReportAnno(name = "触碰率(%)", sort = 6, scale = 4, isRate = true)
    private float touchRate = 0f;

    @ApiModelProperty(value = "行动代码量")
    @ReportAnno(name = "行动代码量", sort = 7)
    private Integer codeNumber;

    @ApiModelProperty(value = "渗透率")
    @ReportAnno(name = "渗透率(%)", sort = 8, scale = 4, isRate = true)
    private float penetrationRate = 0f;
}
